<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加速率</title>
    <style>
        #canvas{
            border: 2px solid;    
            margin:10%  
        }
    </style>
</head>
<body>
    <canvas id="canvas" width="500" height="300"></canvas>
</body>

<script>
    var can=document.getElementById('can')//获取对象
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    var raf;

    var ball = {
    x: 100,
    y: 100,
    vx: 40,
    vy: 15,
    radius: 25,
    color: 'rgb(218,112,214)',
    draw: function() {
        ctx.beginPath();
        ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
        ctx.closePath();
        ctx.fillStyle = this.color;
        ctx.fill();
        if (ball.y + ball.vy > canvas.height || ball.y + ball.vy < 0) {
            ball.vy = -ball.vy;
        }
        if (ball.x + ball.vx > canvas.width || ball.x + ball.vx < 0) {
            ball.vx = -ball.vx;
        }
    }
    };

    function draw() {
    ctx.clearRect(0,0, canvas.width, canvas.height);
    ball.draw();
    ball.x += ball.vx;
    ball.y += ball.vy;
    raf = window.requestAnimationFrame(draw);
    }

    canvas.addEventListener('mouseover', function(e){
    raf = window.requestAnimationFrame(draw);
    });

    canvas.addEventListener('mouseout', function(e){
    window.cancelAnimationFrame(raf);
    });

    ball.draw();
</script>
</html>